package com.qfjy.homework.GaoZhongMing;

public class test {

    /*
    * 定义一系列算法 封装每个算法。并使他们可以互换，不同的策略可以让算法独立与使用他们的客户而变化。
    * 策略模式是属于行为型设计模式，主要是针对不同的策略做出对应的行为，达到行为解耦
    * Strategy(抽象策略)：抽象策略类 并且定义策略执行入口
    * ConcreteStrategy(具体策略)：实现抽象策略。实现algorithm方法
    * Context(环境)：运行特定的策略类
    *
    * */


    public static void main(String[] args) {
        //测试结果
        GearStrategy one = Context.getStrategy("one");
        one.algorithm("1挡");
        //结果：当前挡位是一档
        GearStrategy one1 = Context.getStrategySecond("one");
        one1.algorithm("1挡");
        //结果当前是一档
        //人生若只如初见

    }

}
